package com.loveprogrammer.battle;

/**
 * @ClassName Main
 * @Description TODO
 * @Author admin
 * @Date 2024/2/20 17:24
 * @Version 1.0
 */
import java.util.*;

public class Main {
    public static void main(String[] args) {
        LinkedList<Integer> queue = new LinkedList<>(); // 创建一个空的队列

        // 添加初始元素
        for (int i = 1; i <= 5; i++) {
            queue.addLast(i);
        }

        System.out.println("原始队列：" + queue);

        int targetIndex = 2; // 目标索引为2（从0开始计算）
        int elementToInsert = 99; // 要插入的元素值

        ListIterator<Integer> iterator = queue.listIterator();
        while (iterator.hasNext()) {
            if (targetIndex == 0) {
                iterator.next(); // 跳过第一个元素
                break;
            } else {
                iterator.next();
                targetIndex--;
            }

            if (!iterator.hasNext() && targetIndex > 0) {
                throw new IndexOutOfBoundsException("目标索引超出了队列长度");
            }
        }

        iterator.add(elementToInsert); // 在指定位置插入新元素

        System.out.println("插入元素后的队列：" + queue);

    }
}